Chapter 8 — Regular Expressions (Regex) in Pandas
Code Reference File — Copy and paste as needed

========================================
8.2.1 Starts With
========================================
mask = sales['Retailer City'].str.contains(r'^New', regex=True)
print(sales[mask])

========================================
8.2.2 Ends With
========================================
mask = sales['Retailer City'].str.contains(r'ton$', regex=True)
print(sales[mask])

========================================
8.2.3 Contains
========================================
mask = sales['Retailer Type'].str.contains(r'Store', regex=True)
print(sales[mask])

========================================
8.3.1 Extracting Numbers
========================================
product['Extracted Number'] = product['Product Code'].astype(str).str.extract(r'(\d+)')
print(product[['Product Code', 'Extracted Number']].head())

========================================
8.3.2 Replace Patterns
========================================
sales['City Clean'] = sales['Retailer City'].str.replace(r'a', 'X', regex=True)
print(sales[['Retailer City', 'City Clean']].head())

========================================
8.3.3 Contains a Digit
========================================
mask = product['Product Code'].astype(str).str.contains(r'\d', regex=True)
print(product[mask].head())

========================================
8.6.1 Any Character
========================================
mask = sales['Retailer City'].str.contains(r'L...don', regex=True)
print(sales[mask][['Retailer City']].drop_duplicates())

========================================
8.6.2 Character Set
========================================
mask = product['Product Name'].str.contains(r'[aeiou]', regex=True)
print(product[mask].head())

========================================
8.6.3 One or More
========================================
mask = product['Product Name'].str.contains(r'e+', regex=True)
print(product[mask].head())

========================================
8.6.4 Repetition
========================================
mask = product['Product Name'].str.contains(r'[aeiou]{2,}', regex=True)
print(product[mask].head())

========================================
8.6.5 Whitespace
========================================
mask = product['Product Name'].str.contains(r'\s', regex=True)
print(product[mask].head())
